home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / bin / uz < prev    next >
Text File  |  2006-01-09  |  1KB  |  73 lines

  1. #!/bin/sh
  2. # uz [file...]
  3. # lz [file...]
  4. #
  5. # If called "uz", gunzips and extracts a gzip'd tar'd archive.
  6. # If called "lz", gunzips and shows a listing of a gzip'd tar'd archive.
  7. #
  8. # Requires: gzip and tar in the user's path.  Should work with most tars.
  9. # "-" is now used for backwards compatibility with antique tars, e.g. SCO.
  10. #
  11. # 1994/02/19    DCN    Created (as a trivial, but useful script)
  12. # 1994/12/01    DCN    Combined uz and lz, added suffix handling
  13. # 2002/09/11    DCN    Added bzip2 support
  14. #
  15. # Copyright (C) 1994, 2002 David C. Niemi (niemi at tuxers dot net)
  16. # The author requires that any copies or derived works include this
  17. # copyright notice; no other restrictions are placed on its use.
  18. #
  19.  
  20. set -e
  21. set -u
  22.  
  23. ## Default unzipping command
  24. uzcmd='gzip -cd'
  25.  
  26. case $0 in
  27. *uz)
  28.     tarparam="-pxvf"
  29.     action="Extracting from "
  30.     ;;
  31. *lz)
  32.     tarparam="-tvf"
  33.     action="Reading directory of "
  34.     ;;
  35. *)
  36.     echo "$0: expect to be named either \"uz\" or \"lz\"." >&2
  37.     exit 1
  38.     ;;
  39. esac
  40.  
  41. if [ $# = 0 ]; then
  42.     echo "$action standard input." >&2
  43.     $uzcmd - | tar "$tarparam" -
  44.     exit 0
  45. fi
  46.  
  47. while [ $# -ge 1 ]; do
  48.     echo >&2
  49.     found=
  50.  
  51.     for suffix in "" .gz .tgz .tar.gz .z .tar.z .taz .tpz .Z .tar.Z .tar.bz2; do
  52.         if [ -r "${1}$suffix" ]; then
  53.             found=$1$suffix
  54.             break
  55.         fi
  56.     done
  57.  
  58.     case $found in
  59.         *.tar.bz2 | *.tb2)
  60.             uzcmd='bzip2 -cd'
  61.             ;;
  62.     esac
  63.     if [ -z "$found" ]; then
  64.         echo "$0: could not read \"$1\"." >&2
  65.     else
  66.         echo "$action \"$found\"." >&2
  67.         $uzcmd -- "$found" | tar "$tarparam" -
  68.     fi
  69.     shift
  70. done
  71.  
  72. exit 0
  73.